package site.brood.common.user.feign;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
import site.brood.common.core.constant.Constants;
import site.brood.common.core.user.LoginUserVO;
import site.brood.common.core.web.AjaxJson;
import site.brood.common.user.pojo.UserDto;

/**
 * 用户服务
 */
@FeignClient(name=Constants.USER_SERVICE, fallbackFactory = UserFallbackFactory.class)
public interface UserFeign {
    /**
     * 查询用户信息
     *
     * @param userName 用户名
     * @param source 请求来源
     * @return 结果
     */
    @PostMapping("/inner_get_by_name")
    public AjaxJson<LoginUserVO> getByName(@RequestParam("userName") String userName, @RequestHeader(Constants.FROM_SOURCE) String source);
    /**
     * 新增用户
     *
     * @param userDto 用户信息
     * @param source 请求来源
     * @return 结果
     */
    @PostMapping("/add")
    public AjaxJson<Boolean> add(@RequestBody UserDto userDto, @RequestHeader(Constants.FROM_SOURCE) String source);
}

